1. Field of the Invention
The present invention is related to controlling execution of computer systems and, more particularly, to general-purpose software for configuring and controlling execution of real-time data processing systems.
2. Description of the Related Art
Usually computers are controlled by sequential execution of instructions in a computer program. These programs are usually created by writing line after line of code (instructions in a computer language) and sometimes incorporating blocks of previously written code. In addition, entire programs, subprograms or modules which have previously been written may be executed by a single instruction in a new program. This type of sequential programming is still the most commonly practiced form of programming.
An alternative form of programming which has been increasingly used over the last decade is termed "object-oriented" programming. U.S. Pat. Nos. 4,827,404; 4,821,220 and 4,325,120 provide examples of methods which use object-oriented programming. In addition, U.S. Pat. No. 4,827,404 provides an extended description of object-oriented programming in general and is hereby incorporated by reference. Briefly summarizing the description of object-oriented programming in U.S. Pat. No. 4,827,404, the basic programming entity used in such programming is an "object" which contains both information and predetermined processes which are applied to the information. Typically, when such "objects" are used in programming, the objects are arranged in a hierarchy of classes. Rules for the creation of objects, such as inheritance of attributes within the hierarchy, are used to simplify the programming process.
Besides using of these forms of programming, other alternatives exist for controlling execution of computers. General purpose software has been developed which uses data supplied by a user to control the execution of the program. The data may be stored in a file prior to execution or input in response to a series of prompts or menus. When the data is stored in a file, the distinction between data controlling execution of a program and a programming language executed by a special purpose compiler is not always clear-cut. An example of a program which uses data stored in a file to control its execution is a "spreadsheet" program which combines data stored in various "cells" in a manner defined by data or instructions in other cells. Software, such as spreadsheets, with the flexibility to be applied to many different applications will be termed herein "general-purpose" software.
The term "real-time" is used to describe a type of processing performed by computers which involves collecting data at the time that the data is created, i.e., at substantially the same time that an event occurs which is of interest to the system. The event may be the arrival of material in a warehouse in the case of an inventory system, the beginning of a lunch break in a job costing system, detection of an alarm level in an industrial process monitoring system, etc. There is no known "general purpose" software which can be used to create a real-time data processing system. As a result, it has been necessary to create a unique program using either sequential programming or object-oriented programming for each real-time data processing system.